#ifndef ProcTable_h
#define ProcTable_h

#include "Standards.h"
#include "Schema.h"

class ProcTable
{
	public:
		
		unordered_map<INDEX,NAME> procTable;

		//! Constructor
		ProcTable();
		
		//! A method that gets the size of the table
		/*!
		  \return The size of the table
		*/
		int getSize();
		
		//! A method that inserts a name into the procTable
		/*!
		  \param NAME The name to insert into the procTable
		  \return index of the inserted procedure
		*/
		INDEX insertProc(NAME);
		
		//! A method that gets a name from the procTable
		/*!
		  \param INDEX The index to check with the procTable
		  \return The name stored in the index in the procTable
		*/
		NAME getProcName(INDEX);
		
		//! A method that gets an index from the procTable
		/*!
		  \param NAME The name to check with the procTable
		  \return The specific index of the name stored in the procTable
		*/
		INDEX getProcIndex(NAME);
		
		//! A method that prints the contents of the table
		void printProcTable();

	private:
		int count;		
};

#endif